package com.yxw.yx_hotel.service;

import com.yxw.yx_hotel.dto.FileDeleteDto;
import com.yxw.yx_hotel.entity.YxFileEntity;
import com.yxw.yx_hotel.vo.YxFileVo;
import com.yxw.yxnet_cd_center.common.utils.BaseResult;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * @author liuxin
 * 2024.01.18
 * 文件管理
 */
public interface FileService {

    /**
     * 上传图片文件
     * @return
     */
    List<YxFileVo> uploadFile(MultipartFile[] multipartFiles, Long objId, Integer classify,String remark);

    /**
     * 文件删除
     * @param dto
     */
    void deleteFile(FileDeleteDto dto);
     /**
     * 文件删除
     * @param fileUrl
     */
    public BaseResult deleteFileByUrl(String fileUrl);
    /**
     * 查询文件信息
     * @param fileId
     * @return
     */    
    public BaseResult getFileByUrl(String fileUrl);
    /**
     * 文件下载/预览
     * @param fileId
     * @return
     */
    String downloadFile(Long fileId);

    /**
     * 根据业务ID获取文件信息列表
     * @param bussId
     * @return
     */
    List<YxFileVo> getFileListByBussId(Long bussId);
    /**
     * 根据业务ID获取文件信息列表
     * @param bussId
     * @return
     */    
    List<YxFileEntity> getFilesByBussId(Long bussId);
}
